DNSPOD API脚本更新域名
#!/usr/bin/env bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
oldIPFile=./nowip.txt
token='XXX,XXX'
domain_id='68945712'
record_id='445773611'
sub_domain='ss'
record_type='A'
record_line_id='7%3D0'
_CHECK() {
while true
do
if [[ ! -e "nowip.txt" ]]; then
echo -e "该脚本的作用为 CloudflareST 测速后获取最快 IP 并替换 Hosts 中的 Cloudflare CDN IP。\n使用前请先阅读:https://github.com/XIU2/CloudflareSpeedTest/issues/42#issuecomment-768273848"
echo -e "第一次使用,请先将 Hosts 中所有 Cloudflare CDN IP 统一改为一个 IP。"
read -e -p "输入该 Cloudflare CDN IP 并回车(后续不再需要该步骤):" NOWIP
if [[ ! -z "${NOWIP}" ]]; then
echo ${NOWIP} > nowip.txt
break
else
echo "该 IP 不能是空!"
fi
else
break
fi
done
}
_UPDATE() {
echo -e "开始测速..."
NOWIP=$(head -1 nowip.txt)
# 这里可以自己添加、修改 CloudflareST 的运行参数
./CloudflareST
BESTIP=$(sed -n "2,1p" result.csv | awk -F, '{print $1}')
if [[ -z "${BESTIP}" ]]; then
echo "CloudflareST 测速结果 IP 数量为 0,跳过下面步骤..."
exit 0
fi
echo ${BESTIP} > nowip.txt
echo -e "\n旧 IP 为 ${NOWIP}\n新 IP 为 ${BESTIP}\n"
echo "开始更新ip地址..."
myip=${BESTIP}
curl -X POST https://dnsapi.cn/Record.Modify -d "login_token=XXX,XXX&format=json&domain_id=68945712&record_id=445773611&sub_domain=ss&value=$myip&record_type=A&record_line_id=7%3D0"
}
_CHECK
_UPDATE
获取域名id
curl -X POST https://dnsapi.cn/Domain.List -d 'login_token=284,89b82fa27'
获取记录id
curl -X POST https://dnsapi.cn/Record.List -d 'login_token=284,89b82fa27&format=json&domain_id=71208150&sub_domain=AAn&record_type=A&offset=0&length=3'
Editing is enabled. Use the "Save changes" button below the editor to commit modifications to this file.